package com.xfunc.ok.dmhttp;

import android.content.Context;
import android.os.Environment;

import java.io.File;

public class AppFilePathUtils {
    /**
     * 得到Aoo的缓存目录，随着app卸载而删除
     * 获取外部app专属文件路径(优先使用)，如果没有则获取app内部专属文件路径
     * 内部：/data/user/0/pkg/cache
     * 外部：/storage/emulated/0/Android/dada/pkg/cache
     * @param context
     * @return
     */

  static   String getCacheDir(Context context){
        if (Environment.getExternalStorageState() == Environment.MEDIA_MOUNTED) {
            File cacheDir = context.getExternalCacheDir();
            if (cacheDir != null && (cacheDir.exists() || cacheDir.mkdirs())) {
                return cacheDir.getAbsolutePath();
            }
        }
        File cacheDir = context.getCacheDir();
        return cacheDir.getAbsolutePath();
    }
    /**
     * 得到App文件目录，随着app卸载而删除
     * 获取外部app专属文件路径(优先使用)，如果没有则获取app内部专属文件路径
     * 内部：/data/user/0/pkg/files
     * 外部：/storage/emulated/0/Android/dada/pkg/files
     * @param context
     * @return
     */
    static String getFilesDir(Context context ) {
        if (Environment.getExternalStorageState() == Environment.MEDIA_MOUNTED) {
            File cacheDir = context.getExternalFilesDir(null);
            if (cacheDir != null && (cacheDir.exists() || cacheDir.mkdirs())) {
                return cacheDir.getAbsolutePath();
            }
        }
        File cacheDir = context.getFilesDir();
        return cacheDir.getAbsolutePath();
    }
    /**
     * 文件名称
     */
    static String getFilesDir(Context context,String directionName){
        String filesDir = getFilesDir(context);
        File file =new File(filesDir,directionName);
        if(!file.exists()){
            file.mkdirs();
        }
        return file.getAbsolutePath();
    }
    //需要权限-外部跟目录 /storage/emulated/0
    static String  getPhoneFileRoot(Context context) {
        return Environment.getExternalStorageDirectory().getAbsolutePath();
    }
}
